export default {
  // 开启命名空间
  namespaced: true,

  // state 数据
  state: () => ({
    // 收货地址
    address: JSON.parse(uni.getStorageSync('useraddress') || '{}'),
    token: uni.getStorageSync('token') || '',
    userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
    userimgname: JSON.parse(uni.getStorageSync('userimgname') || '{}'),
    redirectInfo: null // 重定向的 object 对象 { openType, from }
  }),

  // 方法
  mutations: {
    // 更新收货地址
    updateAddress(state, address) {
      state.address = address
      this.commit('m_user/saveAddressToState')
    },
    saveAddressToState(state) {
      uni.setStorageSync('useraddress', JSON.stringify(state.address))
    },
    // 用户信息对象
    updataUserInfo(state, userinfo) {
      state.userinfo = userinfo
      this.commit('m_user/saveUserToStorage')
    },
    // 本地
    saveUserToStorage(state) {
      uni.setStorageSync('userinfo', JSON.stringify(state.userinfo))
    },
    // 头像name
    updatauserimgname(state, userimgname) {
      state.userimgname = userimgname
      this.commit('m_user/saveusertoimgname')
    },
    saveusertoimgname(state) {
      uni.setStorageSync('userimgname', JSON.stringify(state.userimgname))
    },
    //token
    updataToken(state, token) {
      state.token = token
      this.commit('m_user/savetokenTostorage')
    },
    savetokenTostorage(state) {
      uni.setStorageSync('token', state.token)
    },
    // 更新重定向的信息对象
    updateRedirectInfo(state, info) {
      state.redirectInfo = info
      console.log(state.redirectInfo);
    }
  },

  // 数据包装器
  getters: {
    addstr(state) {
      if (!state.address.provinceName) return ''
      return state.address.provinceName + state.address.cityName + state.address.countyName + state.address.detailInfo
    }
  },
  // 先使用 filter 方法，从购物车中过滤器已勾选的商品
  // 再使用 reduce 方法，将已勾选的商品总数量进行累加
  // reduce() 的返回值就是已勾选的商品的总数量
}
